package com.drojian.core;

public abstract class Observable<T> implements ObservableSource<T> {

    @Override
    public void subscribe(Observer observer) {
        subscribeActual(observer);
    }
    protected abstract void subscribeActual(Observer observer);

    public static <T> Observable<T> create(ObservableOnSubscribe<T> source){
        return new ObservableCreate<>(source);
    }

}
